package info.fqtech.study.createpattern.singleton;

/**
 * @author YASSER   作者 E-mail:   450153554@qq.com
 * @date: 2018-12-24 10:13
 * @version: 1.0.0
 * @description: 单例模式
 * 使用场景：
 * 1、数据库链接对象。因为数据库链接对象建立需要较长耗时，建立之后的其他操作都可以在同一个链接中完成。
 * 2、外部资源。例如打印机，虽然可以有多个，但每一个都是只允许有一个实例进行工作。
 * @modified: <文件修改说明>
 */
public class FruitsUtils {

    private FruitsUtils(){
    }

    private static FruitsUtils fruitsUtils = null;
    /**
     * 饿汉模式
     * 在真实使用时，才会创建实例对象
     * @return
     */
    public synchronized static FruitsUtils getInstance() {
        if (fruitsUtils == null) {
            fruitsUtils = new FruitsUtils();
        }
        return fruitsUtils;
    }

    private final static FruitsUtils fruitsUtils_2 = new FruitsUtils();
    /**
     * 饱汉模式
     * 在对象中创建一个final static 对象。调用获取实例对象的时候，直接返回
     * @return
     */
    public static FruitsUtils getInstance2() {
        return fruitsUtils_2;
    }




}
